home *** CD-ROM | disk | FTP | other *** search
Text File | 1994-09-30 | 48.5 KB | 1,200 lines |
- FX UUCICO is Copyright (c) 1993, 1994 by Jorge Cwik. All rights reserved.
- <jorge@satlink.net>
-
- Version 1.0
-
-
- TABLE OF CONTENTS
-
- I. INTRODUCTION
-
- II. INSTALLATION
- Updating from previous FX releases
- Installing from scratch
- Replacing Waffle's Uucico
-
- III. WAFFLE ISSUES
-
- IV. RUNNING FX UUCICO
- Dial in mode
- Answer mode
- Aborting the connection
-
- V. FEATURES
- Internal 'COMM' driver
- FOSSIL interface
- File restart
- Execution requests
- Grades
- File size negotiation
- Status bar
- Logging
-
- VI. PROTOCOLS
- Protocol 'f'
- Protocol 'y'
- Protocol 'g'
- Protocol 'G'
- Protocol 'v'
-
- VII. CONFIGURATION
- Command line parameters
- STATIC configuration file
- 'systems' file
- 'dialers' file
- 'scripts' file
- scripts syntax
- 'permits' file
- Time field format
- (see also the file FXCONFIG.REF)
-
- VIII. ASSISTANCE
-
- IX. LEGAL
-
-
- In the technical guide:
-
- I. NETWORKING
- II. MULTITASKING
- III. 16550A FIFO UARTS
- IV. TELEBIT modems
- V. EXIT LEVELS
- VI. STATUS files
- VII. SECURITY
- VIII. LIMITS AND MEMORY USAGE
- IX. CUSTOM INTERFACES WITH FX UUCICO
-
-
- I. INTRODUCTION
-
- FX UUCICO is a drop-in replacement for Waffle's UUCICO. It's
- fully compatible with Waffle 1.65, but adds a lot of new features:
-
- o Up to 115200 bps, support for 16550A and custom serial ports.
- o Eliminates most needs for FOSSIL, but it is still supported.
- o File restart (crash recovery).
- o Fully networkable, share multiple concurrent instances.
- o File size negotiation and free space management.
- o Execution requests.
- o Status bar, shows progression of file transmissions.
- o A very robust and efficient protocol 'g' implementation.
- o Smart protocol 'g', with variable packets up to 4096 bytes.
- o A new, extremely fast protocol 'y' for high-speed modems.
- o Protocol 'f' for X.25 or other 7-bits lines.
- o Protocol 'G' for SVR4 systems, and protocol 'v'
- o Full support for incoming and outgoing grades.
- o Support for comprehensive statistics.
- o Improved security.
- o Many new configurations options, and permits variables.
- o Simpler configuration
- o Interface to Intelligent Digiboards and non-standard Fossil drivers.
-
-
- In all UUCP packages UUCICO is the program who manages the external
- communications and file transfers. It's similar to Terminal Programs
- (like Telix), except that it performs completely automatically.
-
- Because modems (even the newest) are very slow in computers terms, and
- because long distance connections are very expensive, UUCICO performance
- is critical.
-
-
-
- II. INSTALLATION.
-
- --- Updating from previous FX releases ---
-
- If you are updating from FX 0.4 you have very little to do but replace
- the executable with the new one (backup the old one, first). Read the
- WHATSNEW files and browse the configuration reference for the new options.
-
- Notes:
- See the configuration chapter. FX supports a new configuration model,
- much simple than previous versions.
-
-
- --- Installing from scratch ---
-
- If you are installing Uucico for the first time you need to create the
- necessary configuration files. Those that interface FX with a third
- party package may have special instructions provided with that package.
- The minimal installation requires placing FXUUCP.CFG along with the
- executable in a single directory, the easiest way is to copy the samples
- and make the appropriate modifications.
-
-
- --- Replacing Waffle's Uucico ---
-
- 1) Copy your current UUCICO.EXE to UUCICO.OLD. This is to make sure that
- you don't overwrite your original copy. We strongly urge you to take the
- time to make a copy!
-
- 2) Copy the FX UUCICO.EXE into your waffle\bin directory.
-
- Because it's designed as a replacement, FX UUCICO will perform perfectly
- well without any changes to your WAFFLE environment.
-
- You may want to make the first tests without changing any parameters.
- FX UUCICO should work right out of the box. Deferring the fine-tuning
- settings, will help you in finding any particular problem.
-
- The only recommended changes (not mandatory) are these:
-
- o Add "fx.gpktsize: 1024" to your configuration file, keep windows setting
- at seven. (NOTE: _only_ if the system you are connecting supports this
- size)
-
- o Don't use a FOSSIL driver, unless you really need it.
-
- o If you have a high-speed modem (over 2400), configure it to use hardware
- flow control (CTS/RTS).
-
- o If you have an error-correction modem you may want to use the new 'y'
- protocol (change your 'systems' entries in the UUCP directory). Currently
- the 'y' protocol is supported by FX only, but is in the process of being
- added to other UUCP software.
-
- o If you are sharing multiple copies, use "fx.share: true".
-
- Examples:
-
- In your STATIC file...
-
- driver: fossil
- uu.driver: native
- uu.windows: 7
- fx.gpktsize: 1024
-
- Keep your previous configuration. If the changes are not working restore
- your old setting and enable each option in turn. Particularly, large
- packet size may not work when connecting to old uucp implementations.
-
-
-
- III. WAFFLE ISSUES
-
- FX UUCICO is fully compatible with WAFFLE 1.65, we tried very hard to make
- it as transparent as possible. Most messages and logs are exactly the same,
- although 'debugging' messages may differ.
-
- There is a potential incompatibility in the waffle/admin/net file. This file
- logs all connections and reports transmitted packets. Unfortunately there
- is no indication of the amount in bytes or the packet size. This presents a
- problem when different packet sizes are used and with protocols that do not
- use pkts at all.
-
- We changed the line format of this file to make it more descriptive. Utility
- programs that depend on the old/waffle format will probably not work. One of
- them is NETSUM, there are replacement programs available from our server.
-
- A second incompatibility may arise in direct uucp transfers (with the
- uucp.exe program). The enhanced security features of FX, may deny transfers
- that Waffle's Uucico considered valid. They represented a serious security
- hole and we are confident that you agree with our decision. See the permits
- chapter and 'fx.trusted' for more info.
-
-
- We are very grateful to Tom Dell, author of Waffle, for the open architecture
- and the vast documentation of Waffle, without which would be impossible to
- achieve the compatibility provided by FX UUCICO. Mr. Dell can be contacted
- at dell@vox.darkside.com
-
- All references to WAFFLE are for version 1.65.
- WAFFLE is the Copyrighted property of Darkside Int'l.
-
-
-
- IV. RUNNING FX UUCICO
-
- Uucico is usually run from inside a batch file or directly from the command
- prompt. There are two different modes of operation, dial-out or master mode,
- and dial-in or slave mode.
-
- The dial-out mode is for placing a call, usually known as polling. This is
- the default mode and only requires you to specify the sites you want to call
- with the -s parameter. The -s parameter has three different usage conditions:
-
- -s all polls all known hosts
- -s any polls hosts with queued jobs
- -s host[,hostlist] polls specified host[s]
-
- For every outgoing call, Uucico will run two scripts, the dialer and the
- login scripts as specified in the 'systems' file. The dialer script usually
- performs modem initialization and dialing. The login one, will automatically
- do the necessary procedure for accessing your remote host uucp services. The
- syntax of the scripts are documented in its own chapter.
-
- Dial-in mode receives incoming calls. The -r0 parameter signals Uucico to
- enter slave mode. Obviously the -r0 and -s parameters are mutually exclusive.
- The slave mode requires the connection to be previously established, FX will
- not currently pick up the phone or prompt for login by itself. This task must
- be performed by waffle.exe or any other frontdoor.
-
- In both modes optional parameters may be used. See the configuration chapter.
-
-
- --- Aborting the Connection ---
-
- You can interrupt program execution at any time by pressing control^break.
- Uucico will then close the connection in a clean and orderly fashion. It
- may take a couple of seconds until the exit procedure is performed.
-
- If you press control^break several times, the interrupt module assumes
- that the software might be locked and aborts immediately. Use this only
- when you suspect a "hang-up" situation, because the only task performed
- is to put the modem on-hook. Logs are not updated and internal buffers
- are not flushed.
-
-
-
- V. FEATURES.
-
- --- Internal 'COMM' driver ---
-
- The RS-232 driver has been enhanced to avoid the need of FOSSIL in most cases.
- It's supports up to 115200 bps, hardware flow control, custom I/O ports addr-
- esses and IRQs, and automatic detection of 16550A 'fifo' chips.
-
- FX fully supports V.FC and V.34 modems at 28,8 Kbps.
-
- FIFO operation is controlled by the parameter -z, use -z0 to disable auto
- detection and FIFO mode. For maximum reliability in multitasking systems use
- low trigger values.
-
- To change the default settings of your serial port, append the new I/O address
- and IRQ level to the port number. You may specify one or both parameters, the
- missing one will keep the default value.
-
- The syntax is port,address,irq. The address must be in hex.
-
- Examples:
-
- 1,2F0,5
- 3,,7
- COM2,2E0
- 4
-
- You may use this syntax in any place that FX reads port devices. Currently
- they are:
-
- 1) 'device' in static
-
- 2) The port field in the dialer
-
- 3) the -d runtime parameter.
-
- Note that when both are set, the port number is actually disregarded.
-
- The PC has a de facto standard on the hardware settings of COM1-COM4. Most
- internal modems and serial cards come configured for those default values.
- Use ONLY if you know what you are doing, unexpected behavior may result
- trying to access the wrong hardware. High IRQs (8-15) are supported for
- 16-bit (or 32-bit) cards.
-
-
- --- FOSSIL interface ---
-
- When using a FOSSIL driver you MUST set the receiving buffer size larger than
- the packet size (/R parameter in the BNU version) or enable 'fx.dblBuffer'.
- The default of 1024 bytes is not enough for the 'y' protocol. Note that using
- a FOSSIL driver may usually slow your performance. Most *do not* support bps
- over 38400. For those that they do, you must lock the speed from the FOSSIL
- command line. You can still use it (and we recommend you do) for WAFFLE in-
- coming calls (Awaiting Call).
-
- It's possible that some systems may experiment an erratic behavior with the
- internal driver. Some old RS-232 boards, and some internal modems do not have
- a full compatible UART. In those cases a FOSSIL driver (which may have been
- tested with these boards) may give better results.
-
- Some non-standard FOSSILs don't perform correct buffering. This is usually
- the case, in drivers for ISDN and smart multiport boards. If you receive a
- message reporting that the driver buffers are too small, enable the
- 'fx.dblBuffer' option.
-
-
- --- DIGIboard interface ---
-
- FX Uucico can directly interface with the Digiboard Universal Driver. The
- digiboard driver is selected with the options 'driver' or 'uu.driver':
-
- driver : DIGI
- or
- uu.driver : DIGI
-
- The port number is specified as with the other drivers. With the 'device'
- option or the '-d' run time parameter. Note that the port number corresponds
- to the DOS names, not the digi channels (DOS names start with one, but digi
- channels start with zero).
-
- device: 5
-
- The above line select digi channel _four_, which would normally be COM5. If
- this sounds confusing, remember that this the same number you probably use
- with other communication software.
-
- The digi universal driver must be loaded. No other software is needed. You
- cannot set the I/O port or the IRQ number from inside FX, the DIGI setup
- software should be used for this purpose. FX doesn't need any special para-
- meters to be set by the DIGI driver. Specifically, DOS/EBIOS support doesn't
- need to be present (however note, other applications may need it). The line
- parameters are internally set by FX (bps, mode, flow control, etc).
-
- You can't currently specify different drivers for different ports (mixing
- digiboards with standard serial ports). You would need to use two different
- configuration files in such cases, the 'include' feature could be helpful
- for multiple configs.
-
-
- --- File restart ---
-
- FX UUCICO supports file transfer restart, compatible with Unix SVR4 and TAYLOR
- UUCP implementations. This is similar to the crash recovery feature in ZMODEM.
- You can disable file restart with the new parameter -a.
-
- You may need to temporarily disable the crash recovery option when sending
- a file whose name matches an existing file. If UUCP is used to transfer a
- file, and the same filename is found in the destination directory, UUCICO
- will interpret this as a 'recovery' situation, and APPEND to the existing
- file.
-
-
- --- 'E'xecution request ---
-
- FX supports Taylor Uucp 'E'xecution requests. These commands don't need
- the transmission of 'X.*' files, resulting in a single file transfer per
- transaction instead of two. Note that some sites running Taylor Uucp will
- not send 'E' commands. FX UUCICO will _receive_ 'E' requests automatically
- without any changes, FX UUCP is needed for _sending_ them. The operation
- is completely transparent to the user, we included this paragraph for
- informational purposes only.
-
-
- --- Grades ---
-
- Grades in UUCP links means 'priorities'. By using different grades you can
- control which (uucp) jobs are more 'urgent'. Many sites implement this so
- they can make better use of the system resources. For instance, mail always
- gets assigned Grade 'A' so that it will be sent/received at all hours. But
- news may be assigned a Grade of 'B' (or something lower than 'A') so that
- newsfeeds only happen during sessions which permit 'B' traffic. Regular file
- sends/receives may be Grade 'C' or lower.
-
- All of this allows a site to arrange their traffic so that mail always comes
- and goes, but newsfeeds only happen at certain times, and file transfers only
- happen in the wee hours of the morning when system usage is lowest.
-
- FX UUCICO has full support for grades, and it's compatible with the standard
- used in most UNIX UUCP hosts. Grades consist of a _single_ letter attached to
- the (uucp) job file name when it is created. They are classified in reverse
- ASCII collateral order: 'A' is the highest grade and 'z' is the lowest. Grades
- are case sensitive in Unix systems, but they aren't in DOS because DOS doesn't
- distinguish cases in filenames.
-
- Calls made by UUCICO use the static file parameter 'uu.grade' and/or the -g
- command line parameter for establishing call grade. Calls received by UUCICO
- uses the grade requested by the caller. The 'caller' (who's probably paying
- for the connection) ALWAYS governs the grade. UUCICO will not send jobs that
- have low grades than specified, and the remote host is supposed to do the same.
-
- When no grade is specified, all jobs are transferred.
-
- FX UUCICO may also order the jobs by grade priority. See 'fx.sortJobs'
-
- If you do not use grades, WAFFLE will create all jobs with decimal digits
- which have an even higher priority. You can still request the remote host for
- grade limits. A request for a determined 'grade' will enable transmission
- of any job with the same *or higher* grade. This is not fully compatible
- with Waffle's UUCICO usage, but it is with virtually all other UUCP packages.
-
- Grades are not very useful if the 'caller' doesn't know the remote host conv-
- ention. If you implement grades you should tell your users what grades you use
- for mail and news.
-
- UUCICO doesn't generate grades, because it doesn't create jobs. Rmail, rnews,
- uux and 'uucp' create jobs as specified in the 'mailgrade' and 'newsgrade'
- configuration. Note that even though it's not documented, most WAFFLE util-
- ities accept a -g parameter to override the grade generation.
-
-
- --- File size negotiation ---
-
- This is an extension to the UUCP protocol introduced by Unix SVR4 and enhanced
- by TAYLOR UUCP. Each side tell the others the maximum file size it can accept,
- and the exact size in bytes of files before they are transmitted. File sizes
- are limited by the Operating System, by the available space on disk and by con-
- figuration.
-
- FX UUCICO can be configured for a maximum file size transmission and to leave a
- minimum free space on the spool disk. A cooperative party (a remote UUCICO that
- uses file sizes) is needed for full implementation.
-
- There are two parameters in the 'static' file for size usage:
-
- 'fx.maxfile'
- and
- 'fx.freespace'
-
- FX UUCICO will not send files larger that 'maxfile'. It will request the other
- side to not send files larger than 'maxfile' or that will leave less than
- 'freespace' on disk.
-
- If the remote host doesn't understand file size negotiation, FX UUCICO will
- still check space on the local site, and reject any files which will leave
- less than 'freespace' bytes the local system.
-
- Caveat: Currently FX UUCICO will not do additional checking, once the trans-
- mission of a particular file has begun. Future releases will probably check
- for disk usage 'on the fly.'
-
- Note that the remote side who is sending a file may react to the 'denying for
- size reasons' in different ways. If it's not aware of the 'file size' extensions
- it may NEVER send that file again (you may have enough space on disk later).
- This is not a failure of FX UUCICO, but simply a feature missing from the host
- you communicate with.
-
- If 'fx.freespace' is not present in the configuration file, FX UUCICO will not
- check for free space on disk at all (which might improve performance on some
- systems). If 'fx.maxfile' is not present the default is 32 Megabytes.
-
-
- --- STATUS BAR ---
-
- The switch (-V) enables a status bar at the top of the screen. This bar
- shows file transfer progress at real time. The exact format of the line
- changes if Uucico doesn't know the length of the current file. When talking
- to another FX or Taylor Uucp, FX always knows the length beforehand.
-
- To support this status bar, the -V switch changes completely the way it
- writes to the screen. Normally all screen output goes through DOS, but
- when the -V switch is on, FX writes directly on the video memory. This has
- a considerable impact on performance and compatibility.
-
-
- --- Logging ---
-
- Logging is essential for large sites administration. FX has several log
- files and allows you to configure the amount of information written to
- them. The location of all log files may be specified with 'fx.logdir'
-
- FX UUCICO creates two different main log files: 'uucico' has the normal
- logging, and 'debug' has all the testing messages and info. This has the
- advantage of _not_ clobbering the normal log with tons of debugging messages.
-
- All logged messages are displayed on the screen as well. Each message
- has a level number assigned, only those with a lower or same level than
- the current debug level are logged. The debug level may be independently
- configured for the screen and for the log files. 'uu.debug' and the -x
- switch, 'uu.visual' and -v, configures the disk and screen debuglevel
- respectively. Using high settings may substantially AFFECT PERFORMANCE.
-
- Because using high debug levels may create a huge log, there is a parm in
- the 'static' file that overrides the location where the 'debug' file is
- written. You may want to put your 'debug' file in a ramdisk, because otherwise
- the speed may slow down considerably when using higher debug levels (8 an up).
-
- In addition to those, UUCICO also writes to the 'net' and 'uulog' files.
- The 'net' log has a single line for each connection reporting total time,
- bytes and errors. Files transmitted are logged in 'uulog', the 'fx.uulogLevel'
- option is similar to the debug level one.
-
-
-
- VI. PROTOCOLS
-
- --- Protocol 'f' ---
-
- The protocol 'f' is on the original Unix UUCPs. It's designed for 'flow con-
- trolled, error correction' 7-bits lines. This protocol is very inefficient for
- binary (8-bits) files. It has _no_ internal flow control or error correction.
- The only recommended use (and the one it was designed for), is X.25 or other
- non 8-bit transparent lines.
-
- Any error during downloads will result in truncating the file to zero length,
- this is to avoid invalid data, if file restart is afterwards used. (Note:
- aborted downloads with ctrl-c/ctrl-break are not truncated).
-
-
- --- Protocol 'y' ---
-
- This protocol is new. It's extremely fast and efficient. As the 'f' protocol
- it was designed for 'error correction' (MNP-V42) modems, but it uses 8-bit
- bytes. It's probably the fastest protocol, but you need a 'clean' connection
- between both ends.
-
- Most new modems, have hardware error correction. The modems will take care of
- flow control and error correction. Note that FX UUCICO has no reliable way to
- ensure that an 'error correction' connection has been established. We recom-
- mend you 'force' MNP or V42, (see your modem docs). Because its a streaming
- protocol (no windows), 'y' it's very efficient on HALF duplex connections
- (USR HST and Telebit PEP/TurboPEP).
-
-
- --- Protocol 'g' ---
-
- FX UUCICO supports the full 'g' implementations with variable sized packets up
- to 4096 bytes. The error management is very robust and efficient, which should
- result in a much better throughput in noisy lines.
-
- Using a large window size (packet size * max windows), makes a big difference
- in 'long delay' lines (as in long distance calls), especially in high speed
- modems. We do recommend you to use a large packet size, and keep windows at 7.
-
- Because UUCP protocols are used to transfer everything, not just the files,
- large packets are inefficient for very small files. This is why variable size
- packets are used, only the minimum packet size needed will be used for each
- packet.
-
- Unfortunately many old UUCP implementations don't support anything but 3 win-
- dows, 64 bytes fixed packets. Some ones are so badly designed that they even
- accept other configurations but crash. The -k parameter governs the max packet
- size allowed. If the remote host request packet sizes larger than 64, variable
- size packets will be used too. Only powers of 2 (from 32 to 4096) are valid:
- 32, 64, 128, 256, 512, 1024, 2048 & 4096.
-
- Waffle UUCICO supports 128, 256 and 512, but not variable sizes. We note that
- many UNIX systems accept 128 (HDB based) and some of them 256. Taylor UUCP
- supports the whole range. FX UUCICO is fully compatible with it, and will work
- with any configuration. For better results you should your remote hosts which
- use Taylor to implement large packet size and enable short packets.
-
- You _must_ use the -S switch to connect with Waffle Uucico at any packet size
- larger than 64 bytes. If you can't connect to a Unix host, reduce the packet
- size to 64. Many old implementations will behave in very strangely ways, when
- _trying_ to use large sizes.
-
- The default packet timeout was increased to 20 seconds. If you use large pack-
- ets and receive calls at low speed, check that the parameter 'uu.delay' is not
- too short.
-
- --- Protocol 'G' ---
-
- This is a variation of the 'g' protocol used in SVR4 that is known to implement
- the full range of packet sizes. It _doesn't_ use variable sizes, so it's not
- recommended for systems which support large packets on the 'g' protocol.
-
- --- Protocol 'v' ---
-
- Also a variation of the 'g' protocol. Contrary to the 'G' one, short variable
- packets are always on.
-
-
-
- VII. CONFIGURATION
-
- This section describes all the configuration aspects of FX Uucico. For advanced
- users the software is highly configurable. Most settings default to reasonable
- values. At the minimum you must supply the appropriate 'systems' entries, your
- computer name, device and port speed, everything else is optional.
-
- The configuration can be kept as simple as you wish. Don't be overwhelmed by
- the large amount of options. They are there for customizing the system. You
- may start with the basic example provided. It is much more easier to browse
- the examples than reading all the following chapters.
-
- There are two models. A basic configuration model appropriate for leaf
- nodes (which poll a single remote host), and an advanced one for servers
- and custom installations.
-
- BASIC MODE:
-
- The basic model requires only one configuration file. It is limited to
- a single remote system, and currently, with a single phone access number.
-
-
- ADVANCED MODE:
-
- Configuration is performed by a master file, and the accessory ones:
- 'systems', 'dialers', 'scripts' and 'permits'.
-
- systems describes the systems you connect with
- dialers modem initialization and dialing
- scripts commands for login into the remote host
- permits permission and other misc settings
-
- The advanced model always requires the 'systems' file. In addition, the
- 'scripts' and 'dialers' files are required for dial-out, and the 'permits'
- one for dial-in usage.
-
- The 'permits' file is only mandatory for dial-in mode, but is optional and
- will be used in dial-out mode, even with the basic configuration model.
-
- The location of the configuration files are not fixed. The main config file,
- FXUUCP.CFG (also called STATIC), may be pointed by the environment. The
- location of the other ones is overridden with the 'fx.confdir' option.
-
-
- --- Command line parameters ---
-
- Command line parameters cover runtime options that override settings in
- the configuration file. A few of them, are available only as runtime
- parameters and cannot be set in the config file. With the exception of
- -r0 or -s that specify dialin-dialout mode, none of the options are
- strictly required.
-
- The switches follow the syntax of the traditional Unix 'getopt' parsing,
- with the following rules:
-
- o Options _are_ case sensitive
- o You cannot use '/' as the switch character, only '-'
- o Multiple options may be folded in a single parameter (-aoV)
- o Options that require arguments may have, but do not require
- spaces before the argument: -r 3
- o List arguments cannot have spaces in the middle of the list:
- "-s host1, host2" is incorrect, use "-s host1,host2"
-
-
- Following is a complete list of valid parameters for the current
- version of FX Uucico. Overrides 'xxx' means that the option takes
- precedence of the 'xxx' configuration variable.
-
- -a Disable file restart (crash recovery)
-
- -b bps Baud rate. Sets the DTE speed between the computer
- and the modem. Overrides 'speed'. Disregarded if
- locked with 'uu.locked'
-
- -d device Device name or port number. May optionally include
- an I/O address and/or IRQ. See internal driver for
- the full syntax. Overrides 'device'
-
- -g grade Single letter that sets the minimum grade for trans-
- ferring jobs. Used only in dialout mode. Overrides
- 'uu.grade'
-
- -i Do not check carrier detect. Needed for some direct
- connections with null-modem cables
-
- -k pkt_size Packet size for the 'g' and 'G' protocols. Overrides
- 'fx.gPktSize'. The packet size have a dramatic influence
- on the throughput, but values unsupported by your remote
- host might break the connection. See the 'g' protocol
-
- -n hostname Changes the machine name as communicated to the remote
- host. Overrides 'uucpname'
-
- -o Disable enforcement of time restrictions specified in
- 'systems' and 'permits'
-
- -p permit Use the name permit entry. See 'permits' for the full
- searching algorithm used by FX
-
- -r retries Amount of retries before giving up calling each one of
- the current entries in 'systems'. Overrides 'uu.retries'.
- -r0 have special meaning and engages dial-in mode.
-
- -t seconds Timeout on scripts execution. Overrides 'uu.time'
-
- -u login Login or account name verified by the login sequence in
- dialin mode. This allows FX to verify that the remote
- host name corresponds to the login name as specified in
- 'permits'
-
- -v debug Debug level for screen output. Overrides 'uu.visual'
-
- -w windows Window size for the 'g' and 'G' protocols. Overrides
- 'uu.windows'.
-
- -x debug Debug level for file output. Overrides 'uu.debug'
-
- -z trigger Sets trigger levels for 16550A uarts. -z0 disables
- fifo usage and autodetection.
-
- -S Disable variable packets ('g' protocol only).
-
- -V Enable status bar and direct video access.
-
-
-
- --- STATIC configuration file ---
-
- The main configuration file was traditionally called 'STATIC', but its
- _default_ name has been changed to FXUUCP.CFG. Both the name and the location
- may be altered from the environment. This method allows you to select among
- different configurations at run time.
-
- o FX first search the environment for the variable 'FXUUCP'.
- o If FXUUCP is not in the environment, the keyword 'WAFFLE' is searched.
- o If none is found, FX tries to read the file "FXUUCP.CFG" in the same
- directory where the executable is located. This means that no environment
- variables are strictly needed.
-
- The master configuration file is required in all cases. If all the three
- steps mentioned above fail, the program will refuse to run. When using the
- environment, the content must specify a full path _and_ filename.
-
- Examples:
-
- SET FXUUCP=c:\fxuucp\fxuucp.cfg
- SET WAFFLE=c:\waffle\system\static
-
-
- There are lot of options that may be set, but again, most have reasonable
- defaults. We show only the most useful configuration options. Advanced user
- will find a full reference in the samples provided with this package.
-
- o The syntax is: "option : setting".
- o Case is not sensitive.
- o Free white space may be added or omitted at both sides of the ':'
- separator.
- o The option name must start on the first column.
- o Unknown keywords are skipped without warning.
- o A '#' or ';' in the first column is conventionally used as a comment.
- o Empty lines may be inserted for better readability.
-
- o When duplicated keywords are found, the last one takes precedence.
- o Multiple files may be included. The syntax is the same as with any other
- option: "include: c:\mydir\config3". There is no limit in the number of
- files included, they may be nested four levels deep.
-
-
- Some option are booleans, they may be enabled or disabled:
-
- yes, true, 1 = enabled
- no, false, 0 = disabled
-
- Mandatory entries that _must_ be present in the configuration file:
-
- device Default port number of your serial/modem device.
-
- speed Default speed setting of the serial port
-
- spool Directory path for queuing outgoing and receiving
- incoming jobs. One subdirectory will be created
- for each connecting host.
-
- uucpname Your machine name as known by your neighbors. It
- must match the 'system' entry in your remote host.
-
-
- Important keywords that its only presence affect many other options:
-
- waffle The presence of this option, alerts FX that you are
- running under Waffle and use its directory tree. It
- specifies the root directory for the whole tree. Non
- explicitly configured subdirs, will be created under
- this one.
-
- When this keyword is absent, _all_ directories default to
- the one where the executable is located. Or in other words,
- a _single_ directory is used by default. The exeception is
- the spool, that must be explicitly configured (but can be
- configured to be the same one).
-
- fx.rSystem This option selects between the basic and the advanced
- configuration model. The entry specifies all the data
- needed to access your remote host. The syntax is almost
- the same as the 'systems' file and is describe in that
- chapter.
-
- If missing, FX will enter the advanced model and will
- search for the accessory configuration files.
-
-
- Other useful options:
-
- uu.debug Debug level, controls the amount of info written
- to the 'uucico' and 'debug' logs.
-
- uu.driver Selects between 'NATIVE' or 'FOSSIL' driver.
- Overrides 'driver'.
-
- uu.locked Locked port speed. Uucico will use always this setting
- and disregard any other speed options.
-
- uu.time Timeout in seconds for scripts executions.
-
- uu.visual Debug level, controls the amount of message displayed
- on the screen.
-
- fx.gPktSize Default packet size for the 'g' protocols family
-
- fx.share Enables the networking features of FX Uucico.
-
-
- Again, there are more options available, a full reference is provided in
- the samples. Some parameters, typically the packet size, may be configured
- in a per systems basis using the 'permits' facility.
-
-
- --- 'systems' file ---
-
- The 'systems' file describe the remote hosts you are connecting, usually
- called neighbors. At least one line must be present for each one. Multi-
- ple entries for the same host are allowed specifying different dialing
- numbers or changing other parameters. Multiple entries will result in
- Uucico using them in sequence when retrying a failed connection.
-
-
- #The format of the 'systems' entry is:
- #
- #host time protocol dialer script phone-number login password
- #
- laser Any g Hayes.2400 toUnix 123-45678 uulaser secret
-
-
- host Equivalent to your uucpname. Your neighbors must list
- your name in their 'systems' or equivalent file.
-
- time Allowed times for placing outgoing calls. See below
- for a description of this field.
-
- protocol Single letter. Selects the protocol on outgoing calls.
-
- dialer Dialer script. This is not a literal script, but the
- name of a matching entry in the 'dialers' file.
-
- script Login script. Same as above.
-
- phone Telephone number of your remote host. Will replace
- \T escapes in scripts.
-
- login Your login name that will grant you access on the
- remote machine. Replaces \L in scripts.
-
- password Password for to the login. Replaces \P in scripts.
-
-
- Only the first field (host) is used in incoming calls. The last three
- entries are optional and normally not needed in direct serial links.
-
-
- The fx.rSystem option, when present in the master config file, replaces
- 'systems' completely. The syntax is the same, but instead of having
- fields 'pointing' to entries in the 'dialers' and 'scripts' files, the
- actual script is embedded:
-
- #fx.rSystem: host time protocol script
-
- fx.rSystem: laser Any g "" ATD111 CONNECT \m\c in: user word: secret
-
- Note that the escapes \T, \L and \P are not usable because they are not
- defined. Also note that line continuation is currently not supported in
- the master file, but the line may be quite long.
-
-
- --- 'dialers' file ---
-
- #
- #Dialer-name device speed dialer-script
- #
- Hayes.2400 Any default "" AT OK ATD\T CONNECT \m\c
-
- dialer Name of the entry. Uucico will search for a matching
- entry as specified in the 'systems' dialer field.
-
- device Overrides default device port in the config file.
-
- speed Overrides default speed in the configuration file.
-
- script The rest of the line is the actual dialer script.
- Scrip syntax is described below
-
-
- --- 'scripts' file ---
-
- #
- #script-name login-script
- #
- toUnix in:--in: \L ord: \P
-
-
- script-name Name of the entry.
-
- login-script The rest of the line is the actual login script.
-
-
- --- scripts syntax ---
-
- Scripts are a very powerful tool. Note that because of the script
- design, uucico is less smart that normal communication programs. It
- doesn't have a specific command for dialing, nor a fixed sequence
- of initialization commands. It's all up to you to make it as complex
- or simple as you wish or need. The dialer script is performed first,
- and then the login script.
-
- The scripts are formed by pairs of send/expect sequences. Send tokens
- are transmitted to the serial port and then it waits for the expect
- one. If the expect token doesn't arrive in time, the alternate token
- if present is sent, otherwise the script fails. The syntax define
- special escape sequences that are replaced at run time. Tokens that
- are not alternate are separated by free white space. Empty tokens
- may be set with a pair of double quotes.
-
- "" ATZ OK ATD123-45678 CONNECT
-
- Long scripts may be continued in the next line placing free whitespace
- (one or more spaces and/or tabs) in the continuation line. Using this
- method there is no formal limit to the script length.
-
- gin: \L word: \P service: uucp gateway: direct age: 20
- hobbies: soccer others: ENOUGH!
-
- A pair of dashes signal an alternate sequence, the token between the
- dashes is sent, and the script expects a new token after the last dash.
-
- in:-BREAK-in: \L
-
- In this example, if the in: token is not found, a BREAK is sent and then
- another in: is expected.
-
-
-
- Escapes allowed in send tokens only:
-
- \ooo Send any byte represented in octal notation.
-
- \c Suppress ending carriage return. By default all send
- tokens have a carriage return appended.
-
- \d Delay of two seconds.
-
- \E Turn echo check on. Valid for this token _only_. It is
- very useful for some modems that are slow receiving
- commands, and tend to loose some characters.
-
- \e Turn echo check off.
-
- \K Send break signal. This is basically an antique for
- old Unix dialers.
-
- \L Replaced by the login name field in the 'systems' entry.
-
- \m Turn carrier checking on. By default carrier detect
- is not sampled during scripts execution.
-
- \M Turn off carrier checking during the rest of the
- script.
-
- \p Delay of approximately half a second.
-
- \P Replaced by the current password.
-
- \S Replaced by the remote host uucp name.
-
- \T Replaced by the phone number field in the 'systems' entry.
-
- BREAK Send a break signal
-
- P_NONE Sets the comm line to 8 bits no parity.
-
- P_EVEN Set the line to 7 bits even parity. Normally valid for
- the login sequence only. As most protocols will revert
- back to 8 bits no parity.
-
- P_ODD Set the line to 7 bits odd parity. Same note as above.
-
-
-
- Escapes allowed in both send and expect tokens:
-
- \b Backspace
- \m Carriage return
- \n Line feed
- \r Carriage return
- \s Space
- \t Tab
- \\ Backslash
-
-
- A ~ddd sequence at the end of any expect string overrides the default
- timeout (uu.time and -t):
-
- uu.time : 10
-
- "" AT OK ATDP\P CONNECT~60
-
- The OK must arrives ten seconds after the AT command, but the CONNECT
- message may take up to 60 seconds.
-
-
- --- 'permits' file ---
-
- The 'permits' file controls security issues. FX also uses the 'permits'
- file to change some common parameters between different systems. It
- doesn't have a fixed field format as the other configuration files. Each
- entry is started with a name that identifies this permit. Other parameters
- may be added in any order.
-
-
- The selection of the current permit uses the following algorithm:
-
- If -p <permit> was received from the command line
- looks for the named permit, otherwise fails.
- else (no -p parameter)
- search for a permit name matching the remote system name.
- if not found
- search for the permit named 'default'
-
- Note that the -p parameter, forces a specific permit and prevents
- using the 'default' one. Without a matching permit the connection
- will not be performed.
-
-
- The 'fx.joinDefPermit' configuration modifies the exact behavior
- of the 'default' permit and the default values assumed for options
- not present in the current permit.
-
- When 'fx.joinDefPermit' is off (default), the permit named 'default'
- doesn't affect parameters on other permits. Parameters not specified
- in the current permit, are considered not present and assume internal
- defaults.
-
- When 'fx.joinDefPermit' is on, the permit named 'default' is always
- parsed. Parameters not specified in the current permit, inherit
- settings from the 'default' permit. This is very useful to set
- global parameters without restricting to a single permit.
-
-
- Each parameter starts with a slash, the '=' character separates the
- keyword from the value. Spaces or tabs must be present between para-
- meters. Line continuation is fully supported, and is customary to
- put each parameter in a single line. Many are relevant for dial-in
- calls only.
-
- /account login name allowed for this permit. This option
- in conjunction with he -u parameter is the key
- for a secure system. Dial-in only
-
- /speed Minimum connect speed. Dial-in only.
-
- /time Allowed dial-in calls. Same syntax as the time
- field on 'systems'. 'never' disables dial-in
- for this permit.
-
- /system Use 'any' to allow for anonymous uucp.
-
- /download Download directory for sending non-job files.
- It is enforced on remote requests only. Specify
- a single name only, multiple directories are not
- supported. It may be an absolute path, or a relative
- subdir from the 'spool' directory. See 'fx.trusted'
- All download requests are denied if not present.
-
- /upload Upload directory for receiving non-job files. Same
- notes as 'download'.
-
- /fx.trusted Boolean option. Normally FX expands non-job requests
- under the 'download' or 'upload' settings. The remote
- user cannot specify an absolute path. It must use the
- ~/ uucp convention or a simple file name without path.
- Enabling this option grants full access to the whole
- file systems. _Every_ request is accepted as long
- as it is not denied by the operating system. Note,
- this produces a SERIOUS SECURITY HOLE. Use only for
- yourself, or really 'trusted' users.
-
- /fx.maxtime Maximum time in seconds allowed for the connection.
- The timer starts counting from the end of the uucp
- handshake. FX checks for time exceeded between job
- transactions, it will not abort the current file.
- The limit is per session only, no daily total is
- maintained.
-
- /fx.maxbytes Maximum total bytes allowed for transmission. The
- value represent the sum of bytes sent plus received.
- Same notes as 'fx.maxtime'
-
- /fx.gpktsize Overrides the 'g' and 'G' protocols packet size. If
- you have increased the global packet size, put a 64
- value for systems that do not support large packets.
- Or, leave the global packet size at 64 bytes, and
- set larger values for specific systems.
-
- /uu.windows Overrides the 'g' and 'G' protocols windows size.
-
- /fx.shortpkts Overrides the -S flag for enabling/disabling variable
- packets on the 'g' protocol. Boolean option.
-
-
- Example:
-
- laser /account=uulaser
- /commands=rnews,rmail (not used by Uucico)
- /download=d:\home\mydir
- /upload="uploads"
- /time=any
- /fx.gpktsize=1024
- /fx.maxtime=3600
-
-
- --- Time field format ---
-
- Time fields are present in the 'systems' and 'permits' files. The
- 'systems' enforces dialout calls and the 'permits' dialin ones.
-
- A time description starts with a special abbreviated keyword and may
- be optionally followed by a numeric range. Multiple entries separated
- by commas ',' are supported. The time will be validated if it matches
- anyone of the entries.
-
- Keywords:
-
- Any Matches any day.
-
- Never No match. Disables diaout calls in 'systems'
- and dialins in 'permits'
-
- Evening Matches any time on Saturday and Sunday
-
- dd Matches the specific day(s), one or more of:
- Su, Mo, Tu, We, Th, Fr, Sa, Wk
- 'Wk' matches any day expect Sunday and Saturday
-
-
- A 'military' time range may be added after the keyword to further restrict
- the entry. Military times are four decimal digits in the format 'hhmm'
-
- SaSu2000-2300 Matches Saturday and Sunday from 20:00 to 23:00
-
- Any1000-1600,Mo Matches any day from 10 Am to 4 Pm, and Monday
- at any time.
-
-
-
- VII. ASSISTANCE
-
-
- The author can be contacted at:
-
- Jorge Cwik jorge@satlink.net
-
- We welcome comments, suggestions and bug reports. I am not directly on the
- net. I may take some time from the moment you send me a mail, until I receive
- it (and vice versa). I do answer to every single query, but you may get a
- faster response reaching our mailing-list.
-
- When reporting a bug, please include pertinent clips from your logfiles, or
- any other documentation which may assist us in resolving the problem.
-
- FX maintains a set of servers to support its products. They include a
- mailing list, mail and ftp servers, etc. See SUPPORT.DOC or write to
- fx-info@uufx.net to receive the latest update.
-
- Thanks to all the testers for their help, and especially to Bob Kirkpatrick
- and his servers at Dog Ear'd Systems of Spokane, WA.
-
-
-
- IX. LEGAL
-
- FX software is not in the public domain.
- FX UUCICO is (c) copyright 1993, 1994 by Jorge Cwik.
-
- This release (1.0) may be freely distributed by normal shareware channels,
- as long as they do not charge for it beyond a nominal fee for diskette or
- transmission, and the original zip file is not modified in any way. Commer-
- cial packages willing to distribute our software, contact us for licenses
- and custom releases.
-
- FX UUCICO is shareware. You may freely test the software for a period of
- up to 30 days without paying any registration fee. After that period has
- elapsed, you are required to register the software. Please see the file
- REGISTER.FRM for information on product registration.
-
- The author of FX UUCICO offers this release AS IS, and assumes no liability
- for any problems incurred through its use. The author reserves all Rights
- to the software.
-
-